package 数组;

/*需求：定义一个数组，存入1,2,3,4,5。按照要求交换索引对应的元素。
  交换前：1,2,3,4,5
  交换后：5,2,3,4,1*/

public class test13 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        int temp;

        System.out.println("交换前：");
        for(int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }

        //方法一
        for(int i = 0; i < arr.length / 2; i++) {
            temp = arr[i];
            arr[i] = arr[arr.length - 1 - i];
            arr[arr.length - 1 - i] = temp;
        }//此时为反转数组

        //方法二(更好)
        for(int i = 0, j = arr.length - 1; i < j; i++, j--) {
            temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }//此时为初始数组

        //再次反转，得到反转数组
        for(int i = 0; i < arr.length / 2; i++) {
            temp = arr[i];
            arr[i] = arr[arr.length - 1 - i];
            arr[arr.length - 1 - i] = temp;
        }

        System.out.println("\n交换后：");
        for(int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}
